home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / Xm / XmScrolledWindow.z / XmScrolledWindow
Text File  |  1998-10-30  |  49KB  |  661 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))      UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww - The ScrolledWindow widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           #include <Xm/ScrolledW.h>
  13.  
  14.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  15.           This page documents Motif 2.1.
  16.  
  17.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.           The ScrolledWindow widget combines one or two ScrollBar
  19.           widgets and a viewing area to implement a visible window
  20.           onto some other (usually larger) data display. The visible
  21.           part of the window can be scrolled through the larger
  22.           display by the use of ScrollBars.
  23.  
  24.           To use ScrolledWindow, an application first creates a
  25.           ScrolledWindow widget, any needed ScrollBar widgets, and a
  26.           widget capable of displaying any desired data as the work
  27.           area of ScrolledWindow. ScrolledWindow positions the work
  28.           area widget and displays the ScrollBars if so requested.
  29.           When the user performs some action on the ScrollBar, the
  30.           application is notified through the normal ScrollBar
  31.           callback interface.
  32.  
  33.           ScrolledWindow can be configured to operate automatically so
  34.           that it performs all scrolling and display actions with no
  35.           need for application program involvement. It can also be
  36.           configured to provide a minimal support framework in which
  37.           the application is responsible for processing all user input
  38.           and making all visual changes to the displayed data in
  39.           response to that input.
  40.  
  41.           When ScrolledWindow is performing automatic scrolling it
  42.           creates a clipping window and automatically creates the
  43.           scroll bars.  Conceptually, this window becomes the viewport
  44.           through which the user examines the larger underlying data
  45.           area. The application simply creates the desired data, then
  46.           makes that data the work area of the ScrolledWindow.  When
  47.           the user moves the slider to change the displayed data, the
  48.           workspace is moved under the viewing area so that a new
  49.           portion of the data becomes visible.
  50.  
  51.           Sometimes it is impractical for an application to create a
  52.           large data space and simply display it through a small
  53.           clipping window. For example, in a text editor, creating a
  54.           single data area that consisted of a large file would
  55.           involve an undesirable amount of overhead.  The application
  56.           needs to use a ScrolledWindow (a small viewport onto some
  57.           larger data), but needs to be notified when the user scrolls
  58.           the viewport so it can bring in more data from storage and
  59.           update the display area. For these cases, the ScrolledWindow
  60.  
  61.  
  62.  
  63.      Page 1                                         (printed 10/24/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))      UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))
  71.  
  72.  
  73.  
  74.           can be configured so that it provides only visual layout
  75.           support. No clipping window is created, and the application
  76.           must maintain the data displayed in the work area, as well
  77.           as respond to user input on the ScrollBars.
  78.  
  79.           The user can specify resources in a resource file for the
  80.           automatically created widgets that contain the horizontal
  81.           and vertical scrollbars and the clipping area of the
  82.           ScrolledWindow widget. The names of these widgets are
  83.           HHHHoooorrrrSSSSccccrrrroooollllllllBBBBaaaarrrr, VVVVeeeerrrrttttSSSSccccrrrroooollllllllBBBBaaaarrrr, and CCCClllliiiippppWWWWiiiinnnnddddoooowwww respectively,
  84.           and remain consistent whether created by
  85.           XXXXmmmmCCCCrrrreeeeaaaatttteeeeSSSSccccrrrroooolllllllleeeeddddLLLLiiiisssstttt, XXXXmmmmCCCCrrrreeeeaaaatttteeeeSSSSccccrrrroooolllllllleeeeddddTTTTeeeexxxxtttt or
  86.           XXXXmmmmCCCCrrrreeeeaaaatttteeeeSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww.
  87.  
  88.           ScrolledWindow uses the _X_m_Q_T_n_a_v_i_g_a_t_o_r trait, and holds the
  89.           _X_m_Q_T_s_c_r_o_l_l_F_r_a_m_e trait.
  90.  
  91.         DDDDeeeesssscccceeeennnnddddaaaannnnttttssss
  92.           ScrolledWindow automatically creates the descendants shown
  93.           in the following table.  An application can use
  94.           XXXXttttNNNNaaaammmmeeeeTTTTooooWWWWiiiiddddggggeeeetttt to gain access to the named descendant. In
  95.           addition, a user or an application can use the named
  96.           descendant when specifying resource values.
  97.           NNNNaaaammmmeeeedddd DDDDeeeesssscccceeeennnnddddaaaannnntttt   CCCCllllaaaassssssss          IIIIddddeeeennnnttttiiiittttyyyy
  98.           ______________________________________________________________________________________________________________
  99.           VVVVeeeerrrrttttSSSSccccrrrroooollllllllBBBBaaaarrrr      XXXXmmmmSSSSccccrrrroooollllllllBBBBaaaarrrr    vertical scroll bar
  100.           HHHHoooorrrrSSSSccccrrrroooollllllllBBBBaaaarrrr       XXXXmmmmSSSSccccrrrroooollllllllBBBBaaaarrrr    horizontal scroll bar
  101.           CCCClllliiiippppWWWWiiiinnnnddddoooowwww         XXXXmmmmCCCClllliiiippppWWWWiiiinnnnddddoooowwww   clip window
  102.  
  103.         CCCCllllaaaasssssssseeeessss
  104.           ScrolledWindow inherits behavior, resources, and traits from
  105.           CCCCoooorrrreeee, CCCCoooommmmppppoooossssiiiitttteeee, CCCCoooonnnnssssttttrrrraaaaiiiinnnntttt, and XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr.
  106.  
  107.           The class pointer is _x_m_S_c_r_o_l_l_e_d_W_i_n_d_o_w_W_i_d_g_e_t_C_l_a_s_s.
  108.  
  109.           The class name is XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww.
  110.  
  111.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  112.           The following table defines a set of widget resources used
  113.           by the programmer to specify data. The programmer can also
  114.           set the resource values for the inherited classes to set
  115.           attributes for this widget. To reference a resource by name
  116.           or by class in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC
  117.           prefix and use the remaining letters. To specify one of the
  118.           defined values for a resource in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove
  119.           the XXXXmmmm prefix and use the remaining letters (in either
  120.           lowercase or uppercase, but include any underscores between
  121.           words).  The codes in the access column indicate if the
  122.           given resource can be set at creation time (C), set by using
  123.           XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is
  124.           not applicable (N/A).
  125.  
  126.  
  127.  
  128.  
  129.      Page 2                                         (printed 10/24/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))      UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))
  137.  
  138.  
  139.  
  140.                                                    XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  141.           NNNNaaaammmmeeee                            CCCCllllaaaassssssss                           TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt                 AAAAcccccccceeeessssssss
  142.           XmNautoDragModel                XmCAutoDragModel                XtEnum           XmAUTO_DRAG_ENABLED     CSG
  143.           XmNclipWindow                   XmCClipWindow                   Widget           dynamic                 G
  144.           XmNhorizontalScrollBar          XmCHorizontalScrollBar          Widget           dynamic                 CSG
  145.           XmNscrollBarDisplayPolicy       XmCScrollBarDisplayPolicy       unsigned char    dynamic                 CSG
  146.           XmNscrollBarPlacement           XmCScrollBarPlacement           unsigned char    XmBOTTOM_RIGHT          CSG
  147.           XmNscrolledWindowMarginHeight   XmCScrolledWindowMarginHeight   Dimension        0                       CSG
  148.           XmNscrolledWindowMarginWidth    XmCScrolledWindowMarginWidth    Dimension        0                       CSG
  149.           XmNscrollingPolicy              XmCScrollingPolicy              unsigned char    XmAPPLICATION_DEFINED   CG
  150.           XmNspacing                      XmCSpacing                      Dimension        4                       CSG
  151.           XmNtraverseObscuredCallback     XmCCallback                     XtCallbackList   NULL                    CSG
  152.           XmNverticalScrollBar            XmCVerticalScrollBar            Widget           dynamic                 CSG
  153.           XmNvisualPolicy                 XmCVisualPolicy                 unsigned char    dynamic                 G
  154.           XmNworkWindow                   XmCWorkWindow                   Widget           NULL                    CSG
  155.  
  156.           XXXXmmmmNNNNaaaauuuuttttooooDDDDrrrraaaaggggMMMMooooddddeeeellll
  157.                     Indicates whether automatic drag is enabled
  158.                     (XXXXmmmmAAAAUUUUTTTTOOOO____DDDDRRRRAAAAGGGG____EEEENNNNAAAABBBBLLLLEEEEDDDDor disabled
  159.                     (XXXXmmmmAAAAUUUUTTTTOOOO____DDDDRRRRAAAAGGGG____DDDDIIIISSSSAAAABBBBLLLLEEEEDDDD). By default it is enabled.
  160.  
  161.           XXXXmmmmNNNNcccclllliiiippppWWWWiiiinnnnddddoooowwww
  162.                     Specifies the widget ID of the clipping area. This
  163.                     is automatically created by ScrolledWindow when
  164.                     the XXXXmmmmNNNNvvvviiiissssuuuuaaaallllPPPPoooolllliiiiccccyyyy resource is set to XXXXmmmmCCCCOOOONNNNSSSSTTTTAAAANNNNTTTT
  165.                     and can only be read by the application. Any
  166.                     attempt to set this resource to a new value causes
  167.                     a warning message to be printed by the scrolled
  168.                     window. If the XXXXmmmmNNNNvvvviiiissssuuuuaaaallllPPPPoooolllliiiiccccyyyy resource is set to
  169.                     XXXXmmmmVVVVAAAARRRRIIIIAAAABBBBLLLLEEEE, this resource is set to NULL, and no
  170.                     clipping window is created.
  171.  
  172.           XXXXmmmmNNNNhhhhoooorrrriiiizzzzoooonnnnttttaaaallllSSSSccccrrrroooollllllllBBBBaaaarrrr
  173.                     Specifies the widget ID of the horizontal
  174.                     ScrollBar.  This is automatically created by
  175.                     ScrolledWindow when the XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is
  176.                     initialized to XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC; otherwise, the default
  177.                     is NULL.
  178.  
  179.           XXXXmmmmNNNNssssccccrrrroooollllllllBBBBaaaarrrrDDDDiiiissssppppllllaaaayyyyPPPPoooolllliiiiccccyyyy
  180.                     Controls the automatic placement of the
  181.                     ScrollBars. If it is set to XXXXmmmmAAAASSSS____NNNNEEEEEEEEDDDDEEEEDDDD and if
  182.                     XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is set to XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC,
  183.                     ScrollBars are displayed only if the workspace
  184.                     exceeds the clip area in one or both dimensions. A
  185.                     resource value of XXXXmmmmSSSSTTTTAAAATTTTIIIICCCC causes the
  186.                     ScrolledWindow to display the ScrollBars whenever
  187.                     they are managed, regardless of the relationship
  188.                     between the clip window and the work area. This
  189.                     resource must be XXXXmmmmSSSSTTTTAAAATTTTIIIICCCC when XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy
  190.                     is XXXXmmmmAAAAPPPPPPPPLLLLIIIICCCCAAAATTTTIIIIOOOONNNN____DDDDEEEEFFFFIIIINNNNEEEEDDDD.  The default is
  191.                     XXXXmmmmAAAASSSS____NNNNEEEEEEEEDDDDEEEEDDDD when XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is
  192.  
  193.  
  194.  
  195.      Page 3                                         (printed 10/24/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))      UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))
  203.  
  204.  
  205.  
  206.                     XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC, and XXXXmmmmSSSSTTTTAAAATTTTIIIICCCC otherwise.
  207.  
  208.           XXXXmmmmNNNNssssccccrrrroooollllllllBBBBaaaarrrrPPPPllllaaaacccceeeemmmmeeeennnntttt
  209.                     Specifies the positioning of the ScrollBars in
  210.                     relation to the work window. The values are
  211.  
  212.                     XXXXmmmmTTTTOOOOPPPP____LLLLEEEEFFFFTTTT
  213.                               The horizontal ScrollBar is placed above
  214.                               the work window; the vertical ScrollBar
  215.                               to is placed the left.
  216.  
  217.                     XXXXmmmmBBBBOOOOTTTTTTTTOOOOMMMM____LLLLEEEEFFFFTTTT
  218.                               The horizontal ScrollBar is placed below
  219.                               the work window; the vertical ScrollBar
  220.                               to is placed the left.
  221.  
  222.                     XXXXmmmmTTTTOOOOPPPP____RRRRIIIIGGGGHHHHTTTT
  223.                               The horizontal ScrollBar is placed above
  224.                               the work window; the vertical ScrollBar
  225.                               to is placed the right.
  226.  
  227.                     XXXXmmmmBBBBOOOOTTTTTTTTOOOOMMMM____RRRRIIIIGGGGHHHHTTTT
  228.                               The horizontal ScrollBar is placed below
  229.                               the work window; the vertical ScrollBar
  230.                               to is placed the right.
  231.  
  232.                     The default value depends on the value of the
  233.                     XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn resource of the widget.
  234.  
  235.           XXXXmmmmNNNNssssccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwwwMMMMaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt
  236.                     Specifies the margin height on the top and bottom
  237.                     of the ScrolledWindow.  In order to use the
  238.                     autoscroll drag feature of the Motif drag and drop
  239.                     facility, a user must be able to hold a drag icon
  240.                     over the margin of a scrolled window. Though drag
  241.                     and drop will work with the default margin size of
  242.                     zero, a user may find it difficult to position the
  243.                     icon precisely enough to use the feature easily.
  244.                     The application programmer should ensure that the
  245.                     window margins are set to an adequate size, if the
  246.                     use of the autoscroll drag feature is desired.
  247.  
  248.           XXXXmmmmNNNNssssccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwwwMMMMaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh
  249.                     Specifies the margin width on the right and left
  250.                     sides of the ScrolledWindow.  Please refer to the
  251.                     warning concerning the default margin size for the
  252.                     XXXXmmmmNNNNssssccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwwwMMMMaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt resource, above.
  253.  
  254.           XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy
  255.                     Performs automatic scrolling of the work area with
  256.                     no application interaction. If the value of this
  257.                     resource is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC, ScrolledWindow
  258.  
  259.  
  260.  
  261.      Page 4                                         (printed 10/24/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))      UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))
  269.  
  270.  
  271.  
  272.                     automatically creates the ScrollBars; attaches
  273.                     callbacks to the ScrollBars; sets the visual
  274.                     policy to XXXXmmmmCCCCOOOONNNNSSSSTTTTAAAANNNNTTTT; and automatically moves the
  275.                     work area through the clip window in response to
  276.                     any user interaction with the ScrollBars. An
  277.                     application can also add its own callbacks to the
  278.                     ScrollBars. This allows the application to be
  279.                     notified of a scroll event without having to
  280.                     perform any layout procedures.
  281.  
  282.                     _N_O_T_E: Since the ScrolledWindow adds callbacks to
  283.                     the ScrollBars, an application should not perform
  284.                     an XXXXttttRRRReeeemmmmoooovvvveeeeAAAAllllllllCCCCaaaallllllllbbbbaaaacccckkkkssss on any of the ScrollBar
  285.                     widgets.
  286.  
  287.                     When XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is set to
  288.                     XXXXmmmmAAAAPPPPPPPPLLLLIIIICCCCAAAATTTTIIIIOOOONNNN____DDDDEEEEFFFFIIIINNNNEEEEDDDD, the application is
  289.                     responsible for all aspects of scrolling. The
  290.                     ScrollBars must be created by the application, and
  291.                     it is responsible for performing any visual
  292.                     changes in the work area in response to user
  293.                     input.
  294.  
  295.                     This resource must be set to the desired policy at
  296.                     the time the ScrolledWindow is created. It cannot
  297.                     be changed through SSSSeeeettttVVVVaaaalllluuuueeeessss.
  298.  
  299.           XXXXmmmmNNNNssssppppaaaacccciiiinnnngggg
  300.                     Specifies the distance that separates the
  301.                     ScrollBars from the work window.
  302.  
  303.           XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrsssseeeeOOOObbbbssssccccuuuurrrreeeeddddCCCCaaaallllllllbbbbaaaacccckkkk
  304.                     Specifies a list of callbacks that is called when
  305.                     traversing to a widget or gadget that is obscured
  306.                     due to its position in the work area relative to
  307.                     the location of the ScrolledWindow viewport.  This
  308.                     resource is valid only when XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is
  309.                     XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC. If this resource is NULL, an obscured
  310.                     widget cannot be traversed to. The callback reason
  311.                     is XXXXmmmmCCCCRRRR____OOOOBBBBSSSSCCCCUUUURRRREEEEDDDD____TTTTRRRRAAAAVVVVEEEERRRRSSSSAAAALLLL.
  312.  
  313.           XXXXmmmmNNNNvvvveeeerrrrttttiiiiccccaaaallllSSSSccccrrrroooollllllllBBBBaaaarrrr
  314.                     Specifies the widget ID of the vertical ScrollBar.
  315.                     This is automatically created by ScrolledWindow
  316.                     when the XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is initialized to
  317.                     XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC; otherwise, the default is NULL.
  318.  
  319.           XXXXmmmmNNNNvvvviiiissssuuuuaaaallllPPPPoooolllliiiiccccyyyy
  320.                     Enlarges the ScrolledWindow to match the size of
  321.                     the work area. It can also be used as a static
  322.                     viewport onto a larger data space. If the visual
  323.                     policy is XXXXmmmmVVVVAAAARRRRIIIIAAAABBBBLLLLEEEE, the ScrolledWindow forces
  324.  
  325.  
  326.  
  327.      Page 5                                         (printed 10/24/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))      UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))
  335.  
  336.  
  337.  
  338.                     the ScrollBar display policy to XXXXmmmmSSSSTTTTAAAATTTTIIIICCCC and
  339.                     allows the work area to grow or shrink at any time
  340.                     and adjusts its layout to accommodate the new
  341.                     size. When the policy is XXXXmmmmCCCCOOOONNNNSSSSTTTTAAAANNNNTTTT, the work area
  342.                     grows or shrinks as requested, but a clipping
  343.                     window forces the size of the visible portion to
  344.                     remain constant. The only time the viewing area
  345.                     can grow is in response to a resize from the
  346.                     ScrolledWindow's parent.  The default is
  347.                     XXXXmmmmCCCCOOOONNNNSSSSTTTTAAAANNNNTTTT when XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC,
  348.                     and XXXXmmmmVVVVAAAARRRRIIIIAAAABBBBLLLLEEEE otherwise.
  349.  
  350.                     _N_O_T_E: This resource must be set to the desired
  351.                     policy at the time the ScrolledWindow is created.
  352.                     It cannot be changed through SSSSeeeettttVVVVaaaalllluuuueeeessss.
  353.  
  354.           XXXXmmmmNNNNwwwwoooorrrrkkkkWWWWiiiinnnnddddoooowwww
  355.                     Specifies the widget ID of the viewing area.
  356.                                                  XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww CCCCoooonnnnssssttttrrrraaaaiiiinnnntttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  357.                    NNNNaaaammmmeeee                         CCCCllllaaaassssssss                        TTTTyyyyppppeeee            DDDDeeeeffffaaaauuuulllltttt            AAAAcccccccceeeessssssss
  358.                    XmNscrolledWindowChildType   XmCScrolledWindowChildType   unsigned char   RESOURCE_DEFAULT   CSG
  359.  
  360.           XXXXmmmmNNNNssssccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwwwCCCChhhhiiiillllddddTTTTyyyyppppeeee
  361.                     Specifies what the child is. ScrolledWindow
  362.                     supports a number of child types. The possible
  363.                     values are:
  364.  
  365.                     XXXXmmmmWWWWOOOORRRRKKKK____AAAARRRREEEEAAAA
  366.                               Indicates a work area child. This
  367.                               specifies that both ScrollBars are
  368.                               limited to moving the child inside the
  369.                               clipping window. If the scrolling policy
  370.                               is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC, the work area child can
  371.                               move in both directions.
  372.  
  373.                     XXXXmmmmHHHHOOOORRRR____SSSSCCCCRRRROOOOLLLLLLLLBBBBAAAARRRR
  374.                               Indicates a horizontal child widget; the
  375.                               child must have the _X_m_Q_T_n_a_v_i_g_a_t_o_r trait
  376.                               installed.  For example, the XXXXmmmmSSSSccccrrrroooollllllllBBBBaaaarrrr
  377.                               widget has the _X_m_Q_T_n_a_v_i_g_a_t_o_r trait
  378.                               installed.
  379.  
  380.                     XXXXmmmmVVVVEEEERRRRTTTT____SSSSCCCCRRRROOOOLLLLLLLLBBBBAAAARRRR
  381.                               Indicates a vertical child widget; the
  382.                               child must have the _X_m_Q_T_n_a_v_i_g_a_t_o_r trait
  383.                               installed.
  384.  
  385.                     XXXXmmmmSSSSCCCCRRRROOOOLLLLLLLL____HHHHOOOORRRR
  386.                               Indicates that only the horizontal
  387.                               ScrollBar moves the child. This value is
  388.                               only meaningful if the scrolling policy
  389.                               is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC.
  390.  
  391.  
  392.  
  393.      Page 6                                         (printed 10/24/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))      UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))
  401.  
  402.  
  403.  
  404.                     XXXXmmmmSSSSCCCCRRRROOOOLLLLLLLL____VVVVEEEERRRRTTTT
  405.                               Indicates that only the vertical
  406.                               ScrollBar moves the child. This value is
  407.                               only meaningful if the scrolling policy
  408.                               is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC.
  409.  
  410.                     XXXXmmmmNNNNOOOO____SSSSCCCCRRRROOOOLLLLLLLL
  411.                               Indicates that the child does not move
  412.                               with the ScrollBars. This value is only
  413.                               meaningful if the scrolling policy is
  414.                               XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC.
  415.  
  416.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  417.           ScrolledWindow inherits behavior and resources from the
  418.           superclasses described in the following tables.  For a
  419.           complete description of each resource, refer to the
  420.           reference page for that superclass.
  421.  
  422.                                                 XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  423.           NNNNaaaammmmeeee                      CCCCllllaaaassssssss                   TTTTyyyyppppeeee                DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  424.           XmNbottomShadowColor      XmCBottomShadowColor    Pixel               dynamic                CSG
  425.           XmNbottomShadowPixmap     XmCBottomShadowPixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
  426.           XmNforeground             XmCForeground           Pixel               dynamic                CSG
  427.           XmNhelpCallback           XmCCallback             XtCallbackList      NULL                   C
  428.           XmNhighlightColor         XmCHighlightColor       Pixel               dynamic                CSG
  429.           XmNhighlightPixmap        XmCHighlightPixmap      Pixmap              dynamic                CSG
  430.           XmNinitialFocus           XmCInitialFocus         Widget              NULL                   CSG
  431.           XmNlayoutDirection        XmCLayoutDirection      XmDirection         dynamic                CG
  432.           XmNnavigationType         XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
  433.           XmNpopupHandlerCallback   XmCCallback             XtCallbackList      NULL                   C
  434.           XmNshadowThickness        XmCShadowThickness      Dimension           dynamic                CSG
  435.           XmNstringDirection        XmCStringDirection      XmStringDirection   dynamic                CG
  436.           XmNtopShadowColor         XmCTopShadowColor       Pixel               dynamic                CSG
  437.           XmNtopShadowPixmap        XmCTopShadowPixmap      Pixmap              dynamic                CSG
  438.           XmNtraversalOn            XmCTraversalOn          Boolean             True                   CSG
  439.           XmNunitType               XmCUnitType             unsigned char       dynamic                CSG
  440.           XmNuserData               XmCUserData             XtPointer           NULL                   CSG
  441.  
  442.                                   CCCCoooommmmppppoooossssiiiitttteeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  443.           NNNNaaaammmmeeee                CCCCllllaaaassssssss               TTTTyyyyppppeeee          DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  444.           XmNchildren         XmCReadOnly         WidgetList    NULL      G
  445.           XmNinsertPosition   XmCInsertPosition   XtOrderProc   NULL      CSG
  446.           XmNnumChildren      XmCReadOnly         Cardinal      0         G
  447.  
  448.                                                         CCCCoooorrrreeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  449.           NNNNaaaammmmeeee                            CCCCllllaaaassssssss                           TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  450.           XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
  451.           XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
  452.           XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
  453.           XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  454.  
  455.  
  456.  
  457.  
  458.  
  459.      Page 7                                         (printed 10/24/98)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))      UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))
  467.  
  468.  
  469.  
  470.           XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
  471.           XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  472.           XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
  473.           XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
  474.           XmNdepth                        XmCDepth                        int              dynamic                CG
  475.           XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
  476.           XmNheight                       XmCHeight                       Dimension        dynamic                CSG
  477.           XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
  478.           XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
  479.           XmNscreen                       XmCScreen                       Screen *         dynamic                CG
  480.           XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
  481.           XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
  482.           XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
  483.           XmNx                            XmCPosition                     Position         0                      CSG
  484.           XmNy                            XmCPosition                     Position         0                      CSG
  485.  
  486.         CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
  487.           The application must use the ScrollBar callbacks to be
  488.           notified of user input.
  489.  
  490.           ScrolledWindow defines a callback structure for use with
  491.           XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrsssseeeeOOOObbbbssssccccuuuurrrreeeeddddCCCCaaaallllllllbbbbaaaacccckkkk callbacks. The
  492.           XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrsssseeeeOOOObbbbssssccccuuuurrrreeeeddddCCCCaaaallllllllbbbbaaaacccckkkk resource provides a mechanism
  493.           for traversal to obscured widgets (or gadgets) due to their
  494.           position in the work area of a ScrolledWindow. The
  495.           XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrsssseeeeOOOObbbbssssccccuuuurrrreeeeddddCCCCaaaallllllllbbbbaaaacccckkkk routine has responsibility for
  496.           adjusting the position of the work area such that the
  497.           specified traversal destination widget is positioned within
  498.           the viewport of the ScrolledWindow. A NULL
  499.           XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrsssseeeeOOOObbbbssssccccuuuurrrreeeeddddCCCCaaaallllllllbbbbaaaacccckkkkresource causes obscured widgets
  500.           within the ScrolledWindow to be nontraversable.
  501.  
  502.           Traversal to an obscured widget or gadget requires these
  503.           conditions to be met: the widget or gadget can be obscured
  504.           only due to its position in the work area of a
  505.           ScrolledWindow relative to the viewport; the viewport of the
  506.           associated ScrolledWindow is fully visible, or can be made
  507.           so by virtue of ancestral XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrsssseeeeOOOObbbbssssccccuuuurrrreeeeddddCCCCaaaallllllllbbbbaaaacccckkkk
  508.           routines; and the XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrsssseeeeOOOObbbbssssccccuuuurrrreeeeddddCCCCaaaallllllllbbbbaaaacccckkkk resource must
  509.           be non-NULL.
  510.  
  511.           When ScrolledWindow widgets are nested, the
  512.           XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrsssseeeeOOOObbbbssssccccuuuurrrreeeeddddCCCCaaaallllllllbbbbaaaacccckkkk routine for each ScrolledWindow
  513.           that obscures the traversal destination is called in
  514.           ascending order within the given hierarchy.
  515.  
  516.           A pointer to the following structure is passed to callbacks
  517.           for XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrsssseeeeOOOObbbbssssccccuuuurrrreeeeddddCCCCaaaallllllllbbbbaaaacccckkkk.
  518.  
  519.           typedef struct
  520.           {
  521.                   int _r_e_a_s_o_n;
  522.  
  523.  
  524.  
  525.      Page 8                                         (printed 10/24/98)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))      UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))
  533.  
  534.  
  535.  
  536.                   XEvent *_e_v_e_n_t:
  537.                   Widget _t_r_a_v_e_r_s_a_l__d_e_s_t_i_n_a_t_i_o_n;
  538.                   XmTraversalDirection _d_i_r_e_c_t_i_o_n;
  539.           } XmTraverseObscuredCallbackStruct;
  540.  
  541.           _r_e_a_s_o_n    Indicates why the callback was invoked.
  542.  
  543.           _e_v_e_n_t     Points to the _X_E_v_e_n_t that triggered the callback.
  544.  
  545.           _t_r_a_v_e_r_s_a_l__d_e_s_t_i_n_a_t_i_o_n
  546.                     Specifies the widget or gadget to traverse to,
  547.                     which will be a descendant of the work window.
  548.  
  549.           _d_i_r_e_c_t_i_o_n Specifies the direction of traversal. See the
  550.                     description of the _d_i_r_e_c_t_i_o_n parameter in the
  551.                     XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll reference page for an
  552.                     explanation of the valid values.
  553.  
  554.         TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  555.           XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww includes the translations from XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr.
  556.  
  557.         AAAAddddddddiiiittttiiiioooonnnnaaaallll BBBBeeeehhhhaaaavvvviiiioooorrrr
  558.           This widget has the following additional behavior:
  559.  
  560.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffPPPPaaaaggggeeeeUUUUpppp>>>>:
  561.                     If XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC, scrolls the
  562.                     window up the height of the viewport.  The
  563.                     distance scrolled may be reduced to provide some
  564.                     overlap.  The actual distance scrolled depends on
  565.                     the XXXXmmmmNNNNppppaaaaggggeeeeIIIInnnnccccrrrreeeemmmmeeeennnntttt resource of the vertical
  566.                     ScrollBar.
  567.  
  568.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffPPPPaaaaggggeeeeDDDDoooowwwwnnnn>>>>:
  569.                     If XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC, scrolls the
  570.                     window down the height of the viewport.  The
  571.                     distance scrolled may be reduced to provide some
  572.                     overlap.  The actual distance scrolled depends on
  573.                     the XXXXmmmmNNNNppppaaaaggggeeeeIIIInnnnccccrrrreeeemmmmeeeennnntttt resource of the vertical
  574.                     ScrollBar.
  575.  
  576.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffPPPPaaaaggggeeeeLLLLeeeefffftttt>>>>:
  577.                     If XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC, scrolls the
  578.                     window left the width of the viewport.  The
  579.                     distance scrolled may be reduced to provide some
  580.                     overlap.  The actual distance scrolled depends on
  581.                     the XXXXmmmmNNNNppppaaaaggggeeeeIIIInnnnccccrrrreeeemmmmeeeennnntttt resource of the horizontal
  582.                     ScrollBar.
  583.  
  584.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffPPPPaaaaggggeeeeRRRRiiiigggghhhhtttt>>>>:
  585.                     If XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC, scrolls the
  586.                     window right the width of the viewport.  The
  587.                     distance scrolled may be reduced to provide some
  588.  
  589.  
  590.  
  591.      Page 9                                         (printed 10/24/98)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))      UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV      XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww((((3333XXXX))))
  599.  
  600.  
  601.  
  602.                     overlap.  The actual distance scrolled depends on
  603.                     the XXXXmmmmNNNNppppaaaaggggeeeeIIIInnnnccccrrrreeeemmmmeeeennnntttt resource of the horizontal
  604.                     ScrollBar.
  605.  
  606.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffBBBBeeeeggggiiiinnnnLLLLiiiinnnneeee>>>>:
  607.                     If XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC, scrolls the
  608.                     window horizontally to the edge corresponding to
  609.                     the horizontal ScrollBar's minimum value.
  610.  
  611.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffEEEEnnnnddddLLLLiiiinnnneeee>>>>:
  612.                     If XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC, scrolls the
  613.                     window horizontally to the edge corresponding to
  614.                     the horizontal ScrollBar's maximum value.
  615.  
  616.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffBBBBeeeeggggiiiinnnnDDDDaaaattttaaaa>>>>:
  617.                     If XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC, scrolls the
  618.                     window vertically to the edge corresponding to the
  619.                     vertical ScrollBar's minimum value.
  620.  
  621.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffEEEEnnnnddddDDDDaaaattttaaaa>>>>:
  622.                     If XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy is XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC, scrolls the
  623.                     window vertically to the edge corresponding to the
  624.                     vertical ScrollBar's maximum value.
  625.  
  626.           Certain applications will want to replace the page bindings
  627.           with ones that are specific to the content of the scrolled
  628.           area.
  629.  
  630.         VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
  631.           The bindings for virtual keys are vendor specific.  For
  632.           information about bindings for virtual buttons and keys, see
  633.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss(3).
  634.  
  635.      RRRREEEELLLLAAAATTTTEEEEDDDD
  636.           CCCCoooommmmppppoooossssiiiitttteeee(3), CCCCoooonnnnssssttttrrrraaaaiiiinnnntttt(3), CCCCoooorrrreeee(3),
  637.           XXXXmmmmCCCCrrrreeeeaaaatttteeeeSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww(3), XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr(3),
  638.           XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll(3), XXXXmmmmSSSSccccrrrroooollllllllBBBBaaaarrrr(3), XXXXmmmmSSSSccccrrrroooollllllllVVVViiiissssiiiibbbblllleeee(3),
  639.           and XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwwwSSSSeeeettttAAAArrrreeeeaaaassss(3).
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.      Page 10                                        (printed 10/24/98)
  658.  
  659.  
  660.  
  661.